package org.django4j;

import java.io.OutputStream;
import java.io.PrintStream;

/**
 * 将text类型的model写到输出流。 当model.setStatusCode()=204的时候，服务器端不会写任何
 * 消息体到客户端（即使调用了response.getWriter().write(..)也是徒劳)。但是调用输出流
 * 的close方法会触发response的提交（即输出到客户端）。
 * 也要注意其他响应状态码(指http消息头中设定的响应码)对服务器端行为的影响。
 */
public class TextModelHandler implements ModelHandler {

    public void handle(Model model, OutputStream os) {
        Object result = model.getModel();
//        System.out.println("result=" + result);
        String msg = (result == null)?"":result.toString();
//        System.out.println("msg=" + msg);
        PrintStream ps = new PrintStream(os);
        ps.println(msg);
        ps.close();
    }
}
